.carousel {
  box-shadow: 1px 1px 7px 0 rgba(0, 0, 0, 0.15);
  margin-bottom: 1.5rem;
  .direction {
    z-index: auto;
  }
  .carousel-inner {
    height: 340px;
  }
  .carousel-item {
    height: 100%;
    img {
      width: 100%;
      max-width: 100%;
      height: auto;
    }
    .caption {
      position: absolute;
      bottom: 28px;
      left: 90px;
      color: white;
      max-width: 340px;
      .caption-description p {
        color: white;
      }
    }
    figure {
      margin: 0;
      display: inline-block;
    }
  }
  .carousel-control {
    opacity: 1;
    .icon-next,
    .icon-prev {
      &::before {
        content: "";
      }
      i {
        font-size: 3.125rem;
        color: white;
      }
      &:hover {
        i {
          color: $brand-primary;
        }
      }
    }
    .icon-prev {
      left: 1rem;
    }
    .icon-next {
      right: 2rem;
    }
    &.left,
    &.right {
      background: none;
    }
  }
}

.carousel-indicators {
  li {
    border-color: $gray;
  }
  .active {
    background-color: $gray;
  }
}

@include media-breakpoint-up(lg) {
  .carousel {
    .carousel-indicators {
      display: none;
    }
  }
}

@include media-breakpoint-down(lg) {
  .carousel {
    .carousel-inner {
      height: auto;
    }
  }
}

@include media-breakpoint-down(md) {
  .carousel {
    box-shadow: none;
    width: 100vw;
    margin-left: -50vw;
    left: 50%;
    padding-bottom: .5rem;
    background-color: $gray-light;
    .carousel-item {
      .caption {
        position: static;
        margin: 1.275rem auto 2.5rem;
        text-align: center;
        .display-1 {
          font-size: 2rem;
          font-weight: normal;
          color: $gray-darker;
        }
        .caption-description {
          h3,
          p {
            color: $gray;
          }
          h3 {
            font-size: 1rem;
          }
        }
      }
    }

    .direction {
      position: absolute;
      top: calc(50%);
      width: 100%;
      .carousel-control {
        .icon-prev {
          left: 0;
          margin-left: 0;
        }
        .icon-next {
          right: 0;
          margin-right: .78rem;
        }
        i {
          background: rgba(122,122,122,.5);
        }
      }
    }
  }
  .carousel-indicators {
    li {
      height: 8px;
      width: 8px;
    }
    .active {
      height: 8px;
      margin: 1px;
      width: 8px;
    }
  }
}

@include media-breakpoint-down(sm) {
  .carousel {
    .carousel-item {
      .caption {
        .display-1 {
          font-size: 1.3rem;
        }
      }
    }
    .carousel-control {
      .icon-prev, .icon-next {
        i {
          font-size: 2rem;
        }
      }
    }
  }
}
